package com.yungu.swift.system.finance.service;

import com.yungu.swift.base.ResponseData;
import com.yungu.swift.base.model.PageVo;
import com.yungu.swift.base.service.BaseService;
import com.yungu.swift.system.finance.model.dto.FinanceInviteRewardDto;
import com.yungu.swift.system.finance.model.param.AdminInviteRewardPageParam;
import com.yungu.swift.system.finance.model.vo.FinanceDriverRewardVo;

import java.math.BigDecimal;
import java.util.List;

public interface FinanceInviteRewardService extends BaseService<FinanceInviteRewardDto> {


    /**
     * 获取司机奖励记录
     *
     * @param rewardPageParam 分页参数
     * @return
     */
    ResponseData<PageVo<FinanceDriverRewardVo>> driverRewardPage(AdminInviteRewardPageParam rewardPageParam);

    /**
     * 获取司机奖励记录
     *
     * @param rewardPageParam 分页参数
     * @return
     */
    ResponseData<List<FinanceDriverRewardVo>> driverRewardExport(AdminInviteRewardPageParam rewardPageParam);

    /**
     * 通过司机id和科目获取司机总奖励金额
     *
     * @param driverUuid 司机id
     * @param course     科目
     * @return
     */
    ResponseData<BigDecimal> getSumDriverAwardAmount(String driverUuid, Integer course);
}